// 多个 actions  同步action 对象 { type:'xxx',data:参数值}
// 异步action  函数 dispatch =>{}
import {SET_HEAD_TITLE,RECEIVE_USER,SHOW_ERROR_MSG,RESET_USER} from './action-types'
import { reqLogin} from '../api'
import storageUtils from '../utils/storageUtils'
//import { message } from 'antd'


export const setHeadTitle = (headTitle)=>({ type:SET_HEAD_TITLE,data:headTitle })


// 接收 成功 用户的同步 action 
export const receiveUser = (user) => ({type:RECEIVE_USER,user})


// 接收 错误 用户的同步 action 
// export const show_error_msg = (errorMsg) => ({type:SHOW_ERROR_MSG,errorMsg:errorMsg})
export const show_error_msg = (errorMsg) => ({type:SHOW_ERROR_MSG,errorMsg})


// 退出登录的 同步action
export const logout =()=> {
    //  先删除 local 中的user 
    storageUtils.removeUser()
    // 再返回 action 对象
    return  {type:RESET_USER}
}
    






//登录的 action 
export const login = (username,password)=>{
    return async dispatch=>{
       // 执行异步ajax 请求
      const res = await reqLogin(username,password)  // { state:0,data:user}
      console.log('res99999999999',res);  // {status: 1, msg: '用户名或密码不正确!'}
      // 2 成功 分发成功的同步action
      if(res.status ===0){
         const user = res.data;
         // 保存到 local中
         storageUtils.saveUser(user)
         //dispatch({type:'XXX',user:user})
         dispatch(receiveUser(user))
      }else{// 2 失败 分发失败的同步action
         const msg = res.msg
         //message.error(res.msg)
         dispatch(show_error_msg(msg))
      }
    }
}